home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / t3_1 / risc_src.lha / risc_sources / comp / primops / primop_build.t < prev    next >
Encoding:
Text File  |  1989-06-30  |  7.9 KB  |  200 lines

  1. ;Below is the procedure for compiling the primops.
  2.  
  3. ;;; To compile system files that contain primops set *COMPILE-PRIMOPS?* to #F
  4. ;;; and ignore the "primops not compiled for this system" messages.
  5.  
  6.  
  7. ;; big-endian
  8.  
  9. (set-logical-name (local-fs) 'back_end "~kranz/risc/comp/back_end")
  10. (set-logical-name (local-fs) 'front_end "~kranz/risc/comp/front_end")
  11. (set-logical-name (local-fs) 't3_primops "~kranz/risc/comp/primops")
  12. (set-logical-name (local-fs) 'link "~kranz/risc/link")
  13. (set-logical-name (local-fs) 'osys "~kranz/risc/sys")
  14.  
  15. (define (orbit-mips-setup directory)
  16.   (set *object-file-extension* 'mbo)
  17.   (set *information-file-extension* 'mbi)
  18.   (set *noise-file-extension* 'mbn)
  19.   (orbit-setup directory)
  20.   (set (table-entry *modules* 'constants) `(,directory mipsconstants))
  21.   (set (table-entry *modules* 'primops)   `(,directory mipsprimops))
  22.   (set (table-entry *modules* 'arith)     `(,directory mipsarith))
  23.   (set (table-entry *modules* 'low)       `(,directory mipslow))
  24.   (set (table-entry *modules* 'genarith)     `(,directory mipsgenarith))
  25.   nil)
  26.  
  27. (define (orbit-mips-init . directory)
  28.   (orbit-mips-setup (if directory (car directory) '#f))
  29.   (orbit-init 'base
  30.               'constants
  31.               'primops
  32.           'arith
  33.               'locations
  34.               'low
  35.           'predicates
  36.               'open
  37.               'aliases
  38.               'carcdr
  39.               'genarith))
  40.  
  41. (lset *endian* 'big)
  42. (orbit-mips-setup 't3_Primops)
  43. (create-support '(t3_Primops mipsconstants) '(t3_Primops mipsconstants))
  44. (load '(t3_Primops mipsconstants t) orbit-env)
  45. (orbit-init 'base)
  46. (set (orbit-syntax-table) primop-syntax-table)
  47. (set *compile-primops?* nil)
  48. (create-support '(t3_Primops mipsprimops)   '(t3_Primops mipsprimops))
  49. (create-support '(t3_Primops mipsarith)     '(t3_Primops mipsarith))
  50. (create-support '(t3_Primops locations)    '(t3_Primops locations))
  51. (create-support '(t3_Primops mipslow)       '(t3_Primops mipslow))
  52. (create-support '(t3_Primops predicates)       '(t3_Primops predicates))
  53. (orbit-init 'base  
  54.             'constants 'primops 'arith 'locations 'low 'predicates)
  55. (create-support '(t3_Primops open)    '(t3_Primops open))
  56. (create-support '(t3_Primops aliases) '(t3_Primops aliases))
  57. (create-support '(t3_Primops carcdr)  '(t3_Primops carcdr))
  58. (create-support '(t3_Primops mipsgenarith)  '(t3_Primops mipsgenarith))
  59.  
  60.  
  61. ;;; Ready to COMFILE the MIPS files.
  62.  
  63.  
  64. ;;; To compile the primop code in the VINF files, run the following in an
  65. ;;; Orbit for the machine on which you want to use the MINF.
  66. ;;; WARNING: if you COMFILE the MIPS primop files in the same directory you
  67. ;;; will clobber the compiled versions of the VINF files.
  68. (compile-primop-source '(t3_Primops mipsprimops   mbi))
  69. (compile-primop-source '(t3_Primops mipsarith     mbi))
  70. (compile-primop-source '(t3_Primops locations    mbi))
  71. (compile-primop-source '(t3_Primops mipslow       mbi))
  72. (combile-primop-source '(t3_Primops mipsgenarith    mbi))
  73.  
  74.  
  75. ;;; little-endian
  76.  
  77.  
  78. (set-logical-name (local-fs) 'back_end "~kranz/risc/comp/back_end")
  79. (set-logical-name (local-fs) 'front_end "~kranz/risc/comp/front_end")
  80. (set-logical-name (local-fs) 't3_primops "~kranz/risc/comp/primops")
  81. (set-logical-name (local-fs) 'link "~kranz/risc/link")
  82. (set-logical-name (local-fs) 'osys "~kranz/risc/sys")
  83.  
  84. (define (orbit-mips-setup directory)
  85.   (set *object-file-extension* 'mlo)
  86.   (set *information-file-extension* 'mli)
  87.   (set *noise-file-extension* 'mln)
  88.   (orbit-setup directory)
  89.   (set (table-entry *modules* 'constants) `(,directory mipsconstants))
  90.   (set (table-entry *modules* 'primops)   `(,directory mipsprimops))
  91.   (set (table-entry *modules* 'arith)     `(,directory mipsarith))
  92.   (set (table-entry *modules* 'low)       `(,directory mipslow))
  93.   (set (table-entry *modules* 'genarith)     `(,directory mipsgenarith))
  94.   nil)
  95.  
  96. (define (orbit-mips-init . directory)
  97.   (orbit-mips-setup (if directory (car directory) '#f))
  98.   (orbit-init 'base
  99.               'constants
  100.               'primops
  101.           'arith
  102.               'locations
  103.               'low
  104.           'predicates
  105.               'open
  106.               'aliases
  107.               'carcdr
  108.               'genarith))
  109.  
  110. (lset *endian* 'little)
  111. (orbit-mips-setup 't3_Primops)
  112. (create-support '(t3_Primops mipsconstants) '(t3_Primops mipsconstants))
  113. (load '(t3_Primops mipsconstants t) orbit-env)
  114. (orbit-init 'base)
  115. (set (orbit-syntax-table) primop-syntax-table)
  116. (set *compile-primops?* nil)
  117. (create-support '(t3_Primops mipsprimops)   '(t3_Primops mipsprimops))
  118. (create-support '(t3_Primops mipsarith)     '(t3_Primops mipsarith))
  119. (create-support '(t3_Primops locations)    '(t3_Primops locations))
  120. (create-support '(t3_Primops mipslow)       '(t3_Primops mipslow))
  121. (create-support '(t3_Primops predicates)       '(t3_Primops predicates))
  122. (orbit-init 'base  
  123.             'constants 'primops 'arith 'locations 'low 'predicates)
  124. (create-support '(t3_Primops open)    '(t3_Primops open))
  125. (create-support '(t3_Primops aliases) '(t3_Primops aliases))
  126. (create-support '(t3_Primops carcdr)  '(t3_Primops carcdr))
  127. (create-support '(t3_Primops mipsgenarith)  '(t3_Primops mipsgenarith))
  128.  
  129.  
  130. ;;; Ready to COMFILE the MIPS files.
  131.  
  132.  
  133. ;;; To compile the primop code in the VINF files, run the following in an
  134. ;;; Orbit for the machine on which you want to use the MINF.
  135. ;;; WARNING: if you COMFILE the MIPS primop files in the same directory you
  136. ;;; will clobber the compiled versions of the VINF files.
  137. (compile-primop-source '(t3_Primops mipsprimops   mli))
  138. (compile-primop-source '(t3_Primops mipsarith     mli))
  139. (compile-primop-source '(t3_Primops locations    mli))
  140. (compile-primop-source '(t3_Primops mipslow       mli))
  141. (compile-primop-source '(t3_Primops mipsgenarith    mli))
  142.  
  143.  
  144. (set-logical-name (local-fs) 'back_end "~kranz/risc/comp/back_end")
  145. (set-logical-name (local-fs) 'front_end "~kranz/risc/comp/front_end")
  146. (set-logical-name (local-fs) 't3_primops "~kranz/risc/comp/primops")
  147. (set-logical-name (local-fs) 'link "~kranz/risc/link")
  148. (set-logical-name (local-fs) 'osys "~kranz/risc/sys")
  149.  
  150. (define (orbit-mips-setup directory)
  151.   (set *object-file-extension* 'mbo)
  152.   (set *information-file-extension* 'mbi)
  153.   (set *noise-file-extension* 'mbn)
  154.   (orbit-setup directory)
  155.   (set (table-entry *modules* 'constants) `(,directory mipsconstants))
  156.   (set (table-entry *modules* 'primops)   `(,directory mipsprimops))
  157.   (set (table-entry *modules* 'arith)     `(,directory mipsarith))
  158.   (set (table-entry *modules* 'low)       `(,directory mipslow))
  159.   (set (table-entry *modules* 'genarith)     `(,directory mipsgenarith))
  160.   nil)
  161.  
  162. (define (orbit-mips-init . directory)
  163.   (orbit-mips-setup (if directory (car directory) '#f))
  164.   (orbit-init 'base
  165.               'constants
  166.               'primops
  167.           'arith
  168.               'locations
  169.               'low
  170.           'predicates
  171.               'open
  172.               'aliases
  173.               'carcdr
  174.               'genarith))
  175.  
  176. (lset *endian* 'big)
  177. (orbit-sparc-setup 't3_Primops)
  178. (create-support '(t3_Primops spconstants) '(t3_Primops spconstants))
  179. (load '(t3_Primops spconstants t) orbit-env)
  180. (orbit-init 'base)
  181. (set (orbit-syntax-table) primop-syntax-table)
  182. (set *compile-primops?* nil)
  183. (create-support '(t3_Primops spprimops)   '(t3_Primops spprimops))
  184. (create-support '(t3_Primops sparith)     '(t3_Primops sparith))
  185. (create-support '(t3_Primops locations)    '(t3_Primops locations))
  186. (create-support '(t3_Primops splow)       '(t3_Primops splow))
  187. (create-support '(t3_Primops predicates)       '(t3_Primops predicates))
  188. (orbit-init 'base  
  189.             'constants 'primops 'arith 'locations 'low 'predicates)
  190. (create-support '(t3_Primops open)    '(t3_Primops open))
  191. (create-support '(t3_Primops aliases) '(t3_Primops aliases))
  192. (create-support '(t3_Primops carcdr)  '(t3_Primops carcdr))
  193. (create-support '(t3_Primops spgenarith)  '(t3_Primops spgenarith))
  194.  
  195. (compile-primop-source '(t3_Primops spprimops   si))
  196. (compile-primop-source '(t3_Primops sparith     si))
  197. (compile-primop-source '(t3_Primops locations    si))
  198. (compile-primop-source '(t3_Primops splow       si))
  199. (compile-primop-source '(t3_Primops spgenarith    si))
  200.